﻿using System;
using System.Collections.Generic;
using Vroom.Common.Config;
using Vroom.Common.Enums;

namespace Vroom.Config
{
    public interface IConfigUtils
    {
        string GetColumnMappings(IConfigItem configItem);
        string GetPreviousWorkingDayBySourceSystem(SourceSystem sourceSystem);

        List<string> GetDestinationSchema(IConfigItem configItem);
        List<string> GetExplicitNullColumns(IConfigItem configItem);        

        Dictionary<string, string> GetColumnsOverrides(IConfigItem configItem);
        Dictionary<string, Type> GetExtendedDestinationSchema(IConfigItem configItem, List<string> explicitNullColumns);
        Dictionary<string, Tuple<Type, int, int, int>> GetDestinationSchemaMetadata(IConfigItem configItem);
    }
}
